package com.baidu.service.impl;

import com.baidu.dao.SetmealDao;
import com.baidu.pojo.PageResult;
import com.baidu.pojo.QueryPageBean;
import com.baidu.pojo.Setmeal;
import com.baidu.service.SetmealService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
public class SetmealServiceImpl implements SetmealService {

    @Autowired
    private SetmealDao setmealDao;

    @Override
    public PageResult<Setmeal> findAll(QueryPageBean queryPageBean) {
        // 分页查询
        // 判断是否有条件
        if (!StringUtil.isEmpty(queryPageBean.getQueryString())){
            queryPageBean.setQueryString("%"+queryPageBean.getQueryString()+"%");
        }
        // 开启分页插件
        PageHelper.startPage(queryPageBean.getCurrentPage(), queryPageBean.getPageSize());
        // 开启查询
        Page<Setmeal> all = setmealDao.findAll(queryPageBean.getQueryString());
        // 获取total
        long total = all.getTotal();
        List<Setmeal> result = all.getResult();
        return new PageResult<>(total, result);
    }

    @Override
    @Transactional
    public boolean add(Setmeal setmeal, Integer[] checkgroupIds) {
        // 先添加套餐
        if (setmealDao.add(setmeal) > 0){
            Integer id = setmeal.getId();
            for (Integer checkgroupId : checkgroupIds) {
                setmealDao.addBySetmealAndCheckGroup(id, checkgroupId);
            }
            return true;
        }else {
            return false;
        }
    }
}
